<?php
class ProductController extends MyController
{
    /*
    * 用户填写URL之后，页面ajax获取URL信息，包括名称、图片等；这些抓取的信息存session。
    * 如果已经有这个商品的记录，则提示文章URL，并且不接受用户的提交。
    * 在页面上展示这些信息。
    * 如果网站不支持，则给出一个提示，但是依然接受用户的数据提交。
    * 用户提交时，将用户提交的item_id 和 表单信息保存起来，
    * 用户点击的商品链接是生成的跳转链接；跳转时，根据规则生成返利链接。
    *
    */
    public function actionPost()
    {
        $this->pageTitle = '发布新推荐';
        $this->js = array('ke/kindeditor-min','post');
        $this->render('post');
    }

    public function actionSubmit()
    {
        if(Yii::app()->request->getRequestType() == 'POST')
        {
            $title = trim(Yii::app()->request->getParam('title'));
            $url = trim(Yii::app()->request->getParam('url'));
            $intro = trim(Yii::app()->request->getParam('intro'));
            $email = trim(Yii::app()->request->getParam('email'));
            if(!$title)
            {
                $this->json_return(false,'请简单地填写一下标题，谢谢！');
            }
            if(!preg_match('@^https?://@i',$url))
            {
                $this->json_return(false,'请填写优惠信息或商品的网址。');
            }
            if(!preg_match('/^[^@]+@[^@]+\.[^@]+$/', $email))
            {
                $this->json_return(false,'请填写您的Email');
            }
            $intro = strip_tags($intro,'<a><b><blockquote><br><del><div><em><embed><font><h1><h2><h3><h4><h5><h6><i><img><li><ol><p><pre><s><span><strike><strong><sub><sup><table><tbody><td><th><tr><u><ul>');
            $_analyzer =  SiteAnalyzer::analyzerFactory($url);
            if($_analyzer->site && $_analyzer->get_item_id())
            {
                $exist_prd = Products::model()->find('site_id=:sid and item_id=:itemid and published=1',array(':sid'=>$_analyzer->site->id,':itemid'=>$_analyzer->get_item_id()));
            }
            else
            {
                $exist_prd = Products::model()->find('item_url=:url and urlcrc=:crc',array(':url'=>$url,':crc'=>SiteAnalyzer::urlhash($url)));
            }
            if($exist_prd)
            {
                $this->json_return(false,'您推荐的商品已经存在了');
            }
            $prd = new Products;
            $prd->title = $title ;
            $prd->site_id = $_analyzer->site->id;
            $prd->item_id = $_analyzer->get_item_id();
            $prd->item_name = $_analyzer->get_item_title();
            $prd->item_price = $_analyzer->get_item_price();
            $prd->item_intro = $_analyzer->get_item_intro();
            $prd->item_url = $url;
            $prd->urlcrc = $_analyzer->get_url_hash();
            $prd->product_intro = $intro ;
            $prd->published = 0;
            $prd->save();
            $this->json_return(true,'');
        }
        else
            throw new CHttpException(404);
    }

    public function actionGetInfo()
    {
        $url = trim(Yii::app()->request->getParam('url'));
        if($url)
        {
            $analyzer = SiteAnalyzer::analyzerFactory($url);
            if($analyzer)
            {
                $this->json_return(true,'','',$analyzer->getProductInfo());
            }
            else
            {
                $this->json_return(false,'您输入的网址有误');
            }
        }
        else
        {
            $this->json_return(false);
        }
    }
}